我們介紹完雜湊演算法的種類以及演變之後,常常和雜湊搞混的另一項應用於區塊鏈的技術 加密
,那加密實際上是怎麼進行的呢,加密的方式又有哪些,讓我們一起來看看吧!
古典密碼學透過字母和數字,利用特定的公式和解法,基本上都是用替換式密碼和移項式密碼,不過只要知道加密系統就可以輕鬆地被破解,因此古典密碼學現在已經不常使用了。
古典密碼學和現代密碼學最大的區別就是在有柯克霍夫原則後才開始有了變化,柯克霍夫原則(Kerckhoffs’ principle),大致上就是在強調即使密碼系統的任何細節被人知道了,只要密鑰(key)未洩漏,它也是安全的。換句話說,加密技術就算演算法被知道了,資料也不會有危險。
密碼學(Cryptography)加密的概念就是透過密碼學機制,去保護被傳送的資料,防止被竊聽或者修改,而密碼學有以下四種特性:
機密性(Confidentiality):確保資料只會給對方看到
完整性(Integrity):確保資料的完整性
身份驗證(Authentication):傳送和接收都需要驗證
不可否認性(Non-Reputation):提供雙方互動的證明
而在密碼學中,有兩種加密方式,分別為對稱式加密和非對稱式加密。
對稱式加密(Symmetric Encryption),就是加密和解密的鑰匙是同一把。
舉例來說:
今天A要傳一則訊息給B,A用一把鑰匙Key對訊息加密,當B收到密文時,再用一樣的鑰匙去對資料做解密,進而得出明文。示意圖如下
在介紹非對稱式加密時,先來介紹兩個專有名詞
對外公開的鑰匙,以傳統帳號密碼來說,概念很像帳號。
自己私人的鑰匙,以傳統帳號密碼來說,概念很像密碼。
!!!私鑰可以推導出公鑰,公鑰不能推導出私鑰!!!
非對稱式加密(Asymmetric Encryption),又稱公鑰加密,概念就是用公鑰加密,再用私鑰解密。
關係如下:
公鑰加密、私鑰解密。
私鑰加密、公鑰解密。
舉例來說:
A要傳訊息給B,A先和B交換彼此私鑰推導出出來的公鑰,A先用B公鑰對訊息加密,再用自己的A私鑰對訊息進行數位簽章,而收到訊息的B,用A公鑰確認是A本人發送的訊息,再利用自己的B私鑰去解開訊息,進而去的加密訊息。
示意圖如下
如此一來就完成了只有B可以打開訊息,並能驗證這個訊息是從A傳過來的。
對稱式加密 > 非對稱式加密
對稱式加密的計算較為簡單,同一把鑰匙就可以對一份文件加密解密。
非對稱式加密的計算較為複雜,需要兩把鑰匙加密解密。
非對稱式加密 > 對稱式加密
因為對稱式加密需要一直傳遞私鑰給需要的人,這樣私鑰很有可能會被盜用等等,相較之下非對稱式加密只需要交換可以公開的公鑰,這樣就不會有私鑰暴露的問題。
基礎密碼學(對稱式與非對稱式加密技術)
密碼學(二):現代密碼學
古典密碼學